import request from "./useRequests";
// import * as LRUCache from 'lru-cache';
//
// // 创建一个LRU缓存实例
// const cache = new LRUCache({
//     max: 100, // 最大缓存数量
//     maxAge: 1000 * 60 * 10, // 缓存时间，单位为毫秒，这里设置为10分钟
// });

export default function useMailApi() {
    async function listMail(model: any) {
        try {
            const res = await request({
                method: 'get',
                url: '/mailbox/list',
                params: {
                    'num': model.num,
                    'pageNo': model.pageNo,
                    'pageSize': model.pageSize,
                },
            });

            // 在这里处理响应数据
            // 例如：return res.data;
            return res.data;
        } catch (err: any) {
            // 在这里处理错误
            // 例如：console.error(err);
            return [];
        }
    }

    async function addMail(mailContent: string) {
        try {
            const res = await request({
                method: 'put',
                url: '/mailbox/add',
                data: mailContent ,
            });

            // 在这里处理响应数据
            // 例如：console.log(res.data);
            return res.data;
        } catch (err: any) {
            // 在这里处理错误
            // 例如：console.error(err);
            return null;
        }
    }

    async function listUserMail(model: any) {
        try {
            const res = await request({
                method: 'get',
                url: '/mailbox/userList',
                params: {
                    'pageNo': model.pageNo,
                    'pageSize': model.pageSize,
                },
            });

            // 在这里处理响应数据
            // 例如：return res.data;
            return res.data;
        } catch (err: any) {
            // 在这里处理错误
            // 例如：console.error(err);
            return [];
        }
    }

    return {
        listMail,
        addMail,
        listUserMail,
    };
}